
var local_database=require('../../../data/posts-data.js');
var app=getApp();


Page({

  /**
   * 页面的初始数据
   */
  data: {
    Pid:0,  //存取文章是哪个ID
    isPlayMusic:false  //音乐是否播放
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(app.globalPlayMusic);//即可拿到全局的app.js文件中的全局的东西

    var postId = options.postId;// 列表通过URL传的值进来，在onLoad生命周期获取
    // this.data.local_database = local_database.postList[postId]; //使用这个不生效，用setData()才生效？
    // 获取posts-data.js的数据，然后渲染也页面中
    this.setData({
      local_database: local_database.postList[postId],
      Pid: local_database.postList[postId].postId  //这个要取到的是对应的ID,而不是对象，导致下面出错
    })

    // 微信缓存用法
    // wx.setStorageSync(key, data); //设置同步缓存
    // wx.getStorageSync(key);  //获取同步缓存
    // wx.removeStorageSync(key);  //删除同步缓存
    // wx.clearStorageSync();  //清空缓存

    // 通过本地缓存做收藏和取消收藏，正常是根据服务器去做，逻辑很绕，需谨慎处理
    // 思路： 一开始进来获取缓存，如果一开始没有，则默认加上这个键，并且赋值上一个空对象，如果一开始有，则获取这个键对象里面的值
    if (wx.getStorageSync('showHide')){
      var tf = wx.getStorageSync('showHide');
      // 打算点击存的方式是showHide:  {1:false,2:false,3:false} 这种方式，所以获取的方式是这样获取
      this.setData({
        SH_model: tf[postId]
      })
    }else{
      wx.setStorageSync('showHide', {});
    }

    var that = this;
    this.getMusicPlay(that);
    
  },
  getMusicPlay(that){
    var g_isPlayMusic = app.globalPlayMusic; //获取全局的变量
    
    console.log(g_isPlayMusic);
    // 监听音乐播放和停止
    wx.onBackgroundAudioPlay(function () {
      g_isPlayMusic.g_isPlayMusic=true; //音乐播放，全局和局部的也应该播放
      if (g_isPlayMusic.g_centerMusicId==that.data.Pid){ //如果上次进来的和这次进来的，还是同一个，则显示播放
        that.setData({
          isPlayMusic: true,
        });
      }
    })
    // 停止
    wx.onBackgroundAudioPause(function () {
      g_isPlayMusic.g_isPlayMusic = false;
        that.setData({
          isPlayMusic: false,
        })
    })
  },
  // 点击收藏及取消收藏
  onColletionTap:function(event){
    var tf = wx.getStorageSync('showHide');
    tf[this.data.Pid] = !tf[this.data.Pid];
    // console.log(tf[this.data.Pid]);
    // this.showTag(tf);
    this.showMo(tf); //调用模态框
  },
  // 提示框
  showTag(tf){
    // 每次点击，都是取反，改变本地缓存的值，同时更新data的SH的值
    wx.setStorageSync('showHide', tf);
    this.setData({
      SH_model: tf[this.data.Pid]
    })
    // 提示框
    wx.showToast({
      title: tf[this.data.Pid] ? '收藏成功' : '取消收藏',
      icon: 'success',
      duration: 2000,
      mask: true
    })
  },
  // 微信模态框
  showMo(tf){
    var that=this;
    wx.showModal({
      title: '收藏文章',
      content: tf[that.data.Pid] ? '收藏？' : '取消收藏？',
      success:(res)=>{
        if(res.confirm){//用户点击了确定按钮
          wx.setStorageSync('showHide', tf);
          that.setData({
            SH_model: tf[that.data.Pid]
          })
        }
      }
    });

  },
  // 点击分享按钮的时候
  onShareTap(event){
    var itemList=[
      '分享到朋友圈',
      '分享到QQ空间',
      '分享到好友',
      '分享到微博'
    ]
    wx.showActionSheet({
      itemList: itemList,
      success: function (res) {
        // console.log(res.tapIndex); //获取到的是点击的数组的索引
        wx.showModal({
          title: '分享',
          content: '用户点击了' + itemList[res.tapIndex],
          success:(res)=>{
            
          }
        })

      },
      fail: function (res) {
        console.log(res.errMsg)
      }
    })
  },
  // 播放音乐
  onMusicTap(){
    var music = local_database.postList[this.data.Pid].music
    var isPlayMusica = this.data.isPlayMusic;
    // isPlayMusic
    if (isPlayMusica){
      wx.pauseBackgroundAudio();//暂停音乐
      this.setData({
        isPlayMusic: false
      })
      //并且把当前停止的文章ID清空
      app.globalPlayMusic.g_centerMusicId = null;
    }else{
      // 播放音乐
      wx.playBackgroundAudio({
        dataUrl: music.url, //必须第三方链接
        title: music.title,
        coverImgUrl: music.coverImg//必须第三方链接
      })
      this.setData({
        isPlayMusic:true
      });
      //并且把当前播放的文章ID记录到全局
      app.globalPlayMusic.g_centerMusicId=this.data.Pid;
    }
  }

})